def findroot(x):
    if x==p[x]:
        return x
    p[x]=findroot(p[x])
    return p[x]

def merge(x, y):
    rootx=findroot(x)
    rooty=findroot(y)
    if rootx!=rooty:
        p[rootx]=rooty
        global ans
        ans-=1

n,m=map(int,input().split())
k=int(input())
p=list(range(n*m+1))
ans = n*m
for _ in range(k):
    x,y=map(int,input().split())
    merge(x,y)
print(ans)